

#ifndef IEFFECTPASS_H
#define IEFFECTPASS_H

#include "LibraryEngineExport.h"
#include "ShaderBase.h"

namespace CasaEngine
{
	class IEffect;

	///
	class LIBRARY_ENGINE_EXPORT IEffectPass
	{
	public:
		IEffectPass(IEffect * pEffect_);
		~IEffectPass();
		
		virtual void Begin() = 0;
		virtual void End() = 0;

		IShaderBase *GetShader() const;
		
	protected:
		void SetShader(IShaderBase * val);

	private:
		IShaderBase *m_pShader;	
	};

}  // namespace CasaEngine

#endif //IEFFECTPASS_H
